Skip to main content

Health Supply Chain

A health supply chain moves commodities — medicines, vaccines, contraceptives, diagnostics, consumables — from a national warehouse to the point of use. The information system that supports it (an LMIS, or eLMIS) is one of the oldest categories of health software, and one of the least well integrated with clinical systems.

That gap is the main architectural opportunity: clinical systems know what was dispensed, and logistics systems mostly know what was issued. Those are different numbers, and the difference is why forecasting is poor.


The core data​

EntityNotes
ProductThe commodity, at a defined level of specificity — see below
Facility / storage locationFrom the facility registry, including warehouses and sub-stores
Stock on handQuantity at a location at a point in time
Batch / lotWith expiry date; essential for recalls and expiry management
TransactionReceipt, issue, dispense, adjustment, loss, transfer, return
RequisitionA request from a facility upward
ConsumptionWhat was actually used — distinct from what was issued
Cold chainEquipment, temperature excursions, functional status

The transaction log is the model. Stock on hand is a derived value — computed from the transaction history, not stored as a mutable number. Systems that store stock as an editable field lose the ability to explain discrepancies, which is the main analytical use of the data.


The product catalogue​

The shared list of commodities, and the master data that determines whether any of this interoperates.

The specificity problem. "Amoxicillin" is a substance. "Amoxicillin 250 mg dispersible tablet" is a product. "Amoxicillin 250 mg dispersible tablet, 100 tablet blister, manufacturer X" is a trade item. Different systems need different levels:

Substance ← clinical decision support, allergy checking
│
Clinical product ← prescribing, dispensing, EMR medication list
│
Packaged product ← procurement, stock counting
│
Trade item (GTIN) ← scanning, traceability, recall

A catalogue that models only one level forces every other use to approximate. The minimum workable design holds the clinical product and the packaged product, with an explicit relationship between them and defined pack sizes.

Standards:

  • GS1 — GTIN for trade items, GLN for locations, and barcode standards. Increasingly required for traceability and recall.
  • ATC — WHO's Anatomical Therapeutic Chemical classification, useful for grouping and consumption analysis.
  • National drug codes / essential medicines list — usually the operative catalogue.
  • RxNorm — normalised clinical drug names; US-centric but a useful model.
  • FHIR — Medication, MedicationKnowledge, and the supply resources SupplyRequest, SupplyDelivery, InventoryReport.

The catalogue must be a governed, versioned shared service, not a spreadsheet per system. See terminology services.


Issued versus consumed​

The distinction that makes the clinical–logistics integration worth building.

  • Issued — what the warehouse sent to the facility. Known to the LMIS.
  • Consumed — what was actually dispensed to patients. Known to the pharmacy or EMR.

Forecasting from issues perpetuates existing allocation patterns, including their errors: a facility that was over-supplied continues to be over-supplied, because its issues look like demand. Forecasting from consumption reflects actual need.

EMR / pharmacy ──dispensing events──▶ ┌──────────────┐
│ IOL │
LMIS ──stock, issues, receipts──────▶ │ │
└──────┬───────┘
▼
Consumption-based forecasting
Stock-out analysis against
clinical demand

The requirement this places on the architecture: medication coding must be consistent between the EMR and the LMIS, at a level that maps to the catalogue. This is the practical argument for a national drug terminology, and it is usually the blocking issue.


Requisition and distribution models​

ModelHowSuits
Pull (requisition)The facility requests what it needsFacilities with capacity to forecast; variable demand
Push (allocation)The higher level decides and sendsCampaigns, emergencies, weak facility capacity
Informed push / vendor-managedThe supplier reviews stock and resupplies to a targetReduces facility burden; needs reliable stock visibility
Max/minResupply to a maximum when below a minimumThe common default; requires reliable consumption data

The information requirements differ substantially. Informed push depends on accurate, timely stock data from every facility — which is a demanding requirement, and the reason it is often adopted in principle and abandoned in practice.


Cold chain​

Vaccines and some biologicals require continuous temperature control, and the data has a different character from stock data.

  • Equipment registry — refrigerators and freezers as devices, with location, model, functional status and capacity. Overlaps with the facility registry.
  • Temperature monitoring — continuous or interval readings from remote temperature monitoring devices; high volume, time-series.
  • Excursions — an alert with a defined response workflow, because the question "is this stock still usable?" needs an answer within hours.
  • Vaccine vial monitors and shake tests — the low-technology controls that remain the operative ones in many settings.

Temperature data is time-series and does not belong in the transactional LMIS database. A separate time-series store with alerting is the appropriate shape.


Interoperability requirements​

An LMIS depends on:

  • Facility registry — delivery points must be the same facilities the clinical systems use, including sub-stores which the clinical systems may not distinguish
  • Product catalogue — shared, versioned, at the right levels of specificity
  • Clinical systems — for dispensing and consumption
  • HMIS — stock-out indicators are standard health system performance measures
  • Financial systems — procurement, budget, payment
  • Programme systems — immunisation campaigns have their own commodity flows

The two that are consistently underestimated are the facility registry alignment (sub-store granularity) and the product catalogue mapping.


Analytics that matter​

  • Stock-out rate by product and facility — the headline indicator, and the one most susceptible to definitional dispute (stocked out on the day of reporting, or at any point in the period?)
  • Days of stock remaining, against consumption
  • Wastage — expiry, breakage, cold chain loss
  • Order fill rate — how much of what was requested was supplied
  • Reporting rate and timeliness — whether the data exists at all
  • Expiry risk — batches approaching expiry with insufficient consumption

Publish the definitions with the numbers. Stock-out rate computed two different ways produces two different national figures, and both get quoted.


Platforms​

PlatformNotesLicence
OpenLMISOpen-source LMIS designed for low-resource public health supply chainsAGPL
DHIS2Widely used for aggregate stock reporting; not a full LMIS but often the pragmatic starting pointBSD
eLMIS implementationsSeveral national systems, some derived from OpenLMISVaries
mSupplyUsed in several countries including for remote and mobile storesCommercial, with open components
Commercial ERPWhere national procurement is already ERP-basedCommercial

Verify current status before selection; see platform directory.


Checklist​

  • Product catalogue shared, versioned, governed, at defined specificity levels
  • Facility and storage locations from the facility registry, including sub-stores
  • Stock derived from an immutable transaction log
  • Batch and expiry tracked, with recall capability
  • Dispensing data flowing from clinical systems for consumption-based forecasting
  • Medication coding consistent between EMR and LMIS
  • Cold chain equipment registered; temperature data in a time-series store with alerting
  • Excursion response workflow defined and owned
  • Stock-out indicator definition agreed and published
  • Offline capability for facilities without connectivity — see offline-first

References​